Add a release preparation document Document what it takes to make a Gerrit stable or stable-fix release, and how to release Gerrit subprojects. Change-Id: I462b83d3f4081997481ce5dc4680b0662a6aa977 
diff --git a/Documentation/dev-release-subproject.txt b/Documentation/dev-release-subproject.txt new file mode 100644 index 0000000..a9d0553 --- /dev/null +++ b/Documentation/dev-release-subproject.txt 
@@ -0,0 +1,95 @@ +Making a Gerrit Sub Project Release +=================================== + +Preparing a New Gerrit Subproject Snapshot for Publishing +--------------------------------------------------------- + +* You will need to have the following in the pom.xml to make it deployable to: +gerrit-maven-repository.googlecode.com +---- + <distributionManagement> + <snapshotRepository> + <id>gerrit-snapshot-repository</id> + <name>gerrit Snapshot Repository</name> + <url>dav:https://gerrit-maven-repository.googlecode.com/svn/</url> + <uniqueVersion>true</uniqueVersion> + </snapshotRepository> + + <repository> + <id>gerrit-maven-repository</id> + <name>gerrit Maven Repository</name> + <url>dav:https://gerrit-maven-repository.googlecode.com/svn/</url> + <uniqueVersion>true</uniqueVersion> + </repository> + </distributionManagement> +---- + + +* Since ubuntu maven is incomplete, also add this to the pom.xml: + +---- + <build> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-webdav-jackrabbit</artifactId> + <version>1.0-beta-6</version> + </extension> + </extensions> + </build> +---- + + +* Add your username and password to your ~/.m2/settings.xml file: + +---- + <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> + <servers> + <server> + <id>gerrit-maven-repository</id> + <username>JohnDoe@example.com</username> + <password>OpenSessame</password> + </server> + + <server> + <id>gerrit-snapshot-repository</id> + <username>JohnDoe@example.com</username> + <password>OpenSessame</password> + </server> + </servers> + </settings> +---- + + +Making a Gerrit Subproject Snapshot +----------------------------------- + +* First build and deploy the latest snapshot and ensure that Gerrit builds +with this snapshot + +* Deploy the snapshot: + +---- + mvn deploy +---- + + +Making a Gerrit Subproject Release +---------------------------------- + +* First deploy (and test) the latest snapshot for this subprojects + +* Update the top level pom.xml in the subproject to reflect the new project +version (the exact value of the tag you will create below) + +* Commit the pom change and push to the project's repo refs/for/<master/stable> + +* Tag the version you just pushed (and push the tag) + +* Deploy the new release: + +---- + mvn deploy +----